include protocol PTestMultiMgrsLeft;
include protocol PTestMultiMgrsRight;

namespace mozilla {
namespace _ipdltest {

protocol PTestMultiMgrs {
    manages PTestMultiMgrsLeft;
    manages PTestMultiMgrsRight;

parent:
    async OK();

child:
    async PTestMultiMgrsLeft();
    async PTestMultiMgrsRight();
    async Check();
    async __delete__();

state START:
    send PTestMultiMgrsLeft goto CONSTRUCT_RIGHT;
state CONSTRUCT_RIGHT:
    send PTestMultiMgrsRight goto CHILD_CHECK;
state CHILD_CHECK:
    send Check goto CHILD_ACK;
state CHILD_ACK:
    recv OK goto DONE;

state DONE:
    send __delete__;
};

} // namespace _ipdltest
} // namespace mozilla
